#if !defined(FAKE_D3D10_BLOB_H)
#define FAKE_D3D10_BLOB_H

#include <d3d10.h>
#include "FakeUnknown.h"

class FakeD3D10Blob : public ID3D10Blob
{
public:
	FakeD3D10Blob()
		: GetBufferPointerCalled(false),
		GetBufferPointerFakeResult(0),
		GetBufferSizeCalled(false),
		GetBufferSizeFakeResult(0)
	{
	}
	virtual ~FakeD3D10Blob()
	{
	}

	FAKE_UNKNOWN_IMPL(Unknown);

    virtual LPVOID STDMETHODCALLTYPE GetBufferPointer()
	{
		GetBufferPointerCalled = true;
		return GetBufferPointerFakeResult;
	}
	bool GetBufferPointerCalled;
	void *GetBufferPointerFakeResult;

    virtual SIZE_T STDMETHODCALLTYPE GetBufferSize()
	{
		GetBufferSizeCalled = true;
		return GetBufferSizeFakeResult;
	}
	bool GetBufferSizeCalled;
	SIZE_T GetBufferSizeFakeResult;
};

#endif
